Skip to content

Comments

[pull] main from expo:main#613

Merged
pull[bot] merged 1 commit intocode:mainfrom
expo:main
Feb 21, 2026
Merged

[pull] main from expo:main#613
pull[bot] merged 1 commit intocode:mainfrom
expo:main

Conversation

@pull
Copy link

@pull pull bot commented Feb 21, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

# Why

Shared state, while implementable with messaging API, would require some
amount of boilerplate code to be added by developer. We can introduce
simple key-value (and shared object based) store which will provide
seamless experience of data synchronization between the brownfield and
RN apps. It can be extended with property wrappers in follow ups to
provide even more seamless experience in the native apps

# How

Added an API which allows for `useState` like shared state observing and
setting in the JS and subscriber pattern in native platforms (Android
for now, iOS will be implemented in follow ups). To user the API feels
like a seamless synchronization between (only in JS for now, but I plan
to implement things like property wrappers in follow ups):



https://github.com/user-attachments/assets/6fc86358-5f80-4d11-b254-3e43218aa2dd

Also, simplified the RN activity in the test app as it has now grown
pretty big and added a screen for testing of the new API

# Test Plan

Tested manually using the newly added screen as visible on the video
above. Native app updates clock every second and JS app controls the
value of counter which is doubled in the native side on change

# Checklist

- [X] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [X] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
@pull pull bot locked and limited conversation to collaborators Feb 21, 2026
@pull pull bot added the ⤵️ pull label Feb 21, 2026
@pull pull bot merged commit b951486 into code:main Feb 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant